B. Field of the Invention
The present invention relates to text retrieval systems and, more particularly, to a method for distributing indexes containing conceptual information derived from documents and responding to queries using those indexes. The present invention also relates to responding to queries using existing indexes of conventional document retrieval systems by reindexing documents identified by those systems in accordance conceptual information derived from those documents.
C. Description of the Related Art
The development of efficient and effective text retrieval techniques is critical to managing the increasing amount of textual information available in electronic form. Until recently, information retrieval involved relatively small collections of machine readable text in the range of 100 megabytes of data. Networks bring together collections of information in the gigabyte range, and the increased amount of data makes the retrieval process more difficult.
There are two main concerns facing text retrieval systems: (1) How to identify terms in documents that should be included in the index; and (2) After indexing the terms, how to determine that a document matches a query? Conventional text retrieval techniques rely on indexing keywords in documents. Index terms can be from single words, noun phrases, and subject identifiers derived from syntactic and semantic analysis. Conventional text retrieval systems for the World Wide Web, such as Yahoo!.TM. from Yahoo! Inc. and AltaVista.TM. from Digital Equipment Corporation, use these and other types of keyword indexing techniques to index documents available on the web. Unfortunately, a document's keywords alone rarely capture the document's true contents. Consequently, systems relying on keywords in an index to retrieve documents in response to queries often provide unsatisfactory retrieval performance.
Yahoo!, AltaVista, and other convention text retrieval systems for the web employ programs called "web crawlers" to traverse the web. Web crawlers follow links from page to page and extract terms from all the pages that they encounter. Each search engine then makes the resulting information accessible by providing lists of specific pages that match an input search request or query.
Because the web constantly changes as existing pages are modified and new pages are added, web crawlers cannot simply traverse the web and index it once. Instead, to stay current, they must repeatedly traverse the web to identify changes for refreshing the index. Changes are made constantly and without notice, however, so it is not possible to keep up with them.
Moreover, many sites on the web are now reluctant to provide the access demanded by web crawlers to access and index the sites pages because the resources given to the web crawler detract from those for the users. This poses another problem to the ongoing success of such retrieval techniques on the web. "WAIS," which stands for Wide Area Information Servers, suggests one alternative to the use of web crawlers for indexing. WAIS is an architecture for a distributed information retrieval system based on the client server model of computation. WAIS allows users of computers to share information using a common computer-to-computer protocol. WAIS was originally designed and implemented by a development team at Thinking Machines, Inc. led by Brewster Kahle. WAIS requires the sites that publish information on the web to publish an index of that information as well. Search engines can then use the published indexes to respond to queries. Although WAIS helps the resource problem associated with web crawler-based text retrieval systems, it fails to address a more fundamental problem with conventional search and retrieval systems: the quality of the ranked output.
The quality of the output suffers from the way most searches occur. The most common methods for determining whether a document matches a query are the "boolean model" and the "statistical model." According to the boolean model, a match occurs when a document's index terms meet the boolean expression given by the user. The statistical model, on the other hand, is based on the similarity between statistical properties of the document and the query.
It is not unusual for conventional search engines using either approach to return a large number of matches for a simple query. When faced with a list of 20,000 hits in response to a query--not an uncommon experience when searching the web--a user cannot effectively review all the results. Whether the user accesses the matches serially or randomly, the review process takes an unwieldy amount of time to locate the documents of particular interest. Typically, Internet web searchers provide the user with the first 10 hits and continue to provide additional blocks of 10 until the user finds something acceptable or gives up. If the user has a simple information need and the answer shows up in the first 10 or 20 hits, then this is not unreasonable. However, if the user has serious research interest in the results, then it may be important to see the information available in the remaining hits.
Consequently, the criteria by which these hits are ranked becomes very important. More and more systems support some type of ranking feature because users have demanded easy-to-use query languages and ranking to sort out the most important information.
WAIS supports one document ranking scheme. WAIS scores documents based on the number of occurrences of a query term in a document, the location of the terms in a document, the frequency of those terms within the collection, and the size of the document. WAIS, however, uses a least-common-denominator standard that does not allow for sophisticated querying and ranking of results.
Moreover, most retrieval techniques provide ranked results with scoring methodologies that depend on statistics of the indexed collections. This means that the scores assigned to documents in different collections, even when using the same scoring methodology, are not commensurate and can not be used as an adequate basis for combining the ranked results from two separate searches. This poses a problem for distributing the indexing and retrieval processing among multiple processes or platforms.
At the same time, the growing volume of material for indexing has required search engine designers to focus on techniques for efficiency and volume processing, rather then on techniques for guaranteeing the best possible rankings. The conflict between these two objectives, accurate search results and indexing huge collections of information, poses a significant problem for the developers of the next generation of text retrieval systems.